Printers

C H A P T E R   2 1

Printers

This chapter presents the requirements and recommendations for printers under the Microsoft Windows family of operating systems.

Overview for Printers

This section presents the key design issues for printers under Microsoft Windows. Printers and other devices attached to parallel ports should be capable of high-speed, bidirectional data transfers. The design criteria for parallel devices follow those for parallel ports described in the "Serial, Parallel, and Wireless Support" chapter.

The PC 97 requirements for printers and parallel ports seek to ensure the following:

Basic Printer Features

This section summarizes the basic hardware requirements for printers for PC 97.

Basic Features for IEEE 1394 Printers

This section defines requirements for printers that use IEEE 1394.

1. Compliance with PC 97 requirements for IEEE 1394

Required

This bus is recommended in PC 97 for support of fast, high-density data transfer. For information about implementing IEEE 1394 for PC 97, see the "IEEE 1394" chapter in Part 3 of this guide.

Basic Features for USB Printers

This section defines requirements for printers that use USB.

2. Compliance with PC 97 requirements for USB devices

Recommended

This bus is required for PC 97 systems. It is recommended that USB printers conform to the USB Printer Class specification. For information about implementing USB for PC 97, see the "USB" chapter in Part 3 of this guide.

Basic Features for IEEE 1284 Printers

This section defines requirements for printers that use IEEE 1284.

3. Support compatibility mode, nibble mode, and ECP, compliant with IEEE 1284-I

Required

Parallel peripherals must implement nibble mode and compatibility mode. Nibble mode provides a means of transferring the identification string from the peripheral to the system. Compatibility mode provides backward compatibility with non-Plug and Play systems that do not support more advanced modes.

A parallel device complies with IEEE 1284 if it meets the required criteria documented in the IEEE 1284 specification, "Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computers." For a parallel device that connects to a PC 97 system, the minimum requirement is IEEE 1284 Level I compliance, which implements the compatibility and nibble modes, as specified in IEEE 1284 and defines the mechanical and electrical specifications of the peripheral.

A 1284-I- compliant peripheral uses the standard 1284-B connector. In all cases, ensure that there is enough space between the connectors and the surrounding enclosure to allow for a mating connector, the connector shell, and the latch assembly.

For more information about the electrical specifications for 1284-I- compliant peripherals, see the IEEE 1284 specification.

For more information about these mode requirements, see the following related requirements defined for parallel ports in the "Serial, Parallel, and Wireless Support" chapter:

4. IEEE 1284-II compliance

Recommended

Peripheral devices capable of handling the high-speed data rate should support the protocols of the IEEE 1284 ECP mode.

5. ECP printer works correctly when ECP mode is turned off

Required

This ensures that the user has correct printing support when ECP mode is not used.

6. Hardware supports error notification

Required

The following minimum errors must be reported individually by the hardware:

PC 97 Design for Printers

This section summarizes requirements related to the design initiatives for PC 97 in Part 1 of this guide.

Plug and Play for Printers

The items in this section are requirements for Plug and Play capabilities. For Plug and Play requirements related to the printer port on the PC, see the "Serial, Parallel, and Wireless Support" chapter in Part 4, or the related bus port requirements, such as IEEE 1394, in Part 3 of this guide.

7. Support Plug and Play for all supported buses

Required

Complete Plug and Play support must be implemented for all buses that the device supports. For information about the Plug and Play requirements, see the related bus-class definitions in Part 3 of this guide.

8. Compliance with requirements for IEEE 1284 peripherals

Required

These requirements include a Plug and Play device identifier as described in the IEEE 1284 specification. For more information, see the "Serial, Parallel, and Wireless Support" chapter in Part 4 of this guide.

Recommended: Support CompatibleID key in the device identification string.

Power Management for Print Components

This section summarizes the specific power management requirements for printers.

9. Compliance with "Device Class Power Management Reference Specification"

Required

The "Device Class Power Management Reference Specification" for printers provides definitions of the OnNow device power states (D0 - D3) for these devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class.

10. Support Wakeup Events defined in "Device Class Power Management Reference Specification"

Optional

For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for printers is an optional feature.

11. Support USB or IEEE 1394 power management requirements

Required

Printers that support USB or IEEE 1394 must also support the power management requirements for those buses, as defined in Part 3 of this guide.

Device Drivers and Installation for Printers

This section summarizes requirements for device drivers for printers. The items in this section are requirements for all variations of PC 97.

12. Printer INF and installation meet Windows and Windows NT standards

Required

Each device requires a printer INF for both Windows 95 and Windows NT operating systems. The manufacturer does not need to supply a printer INF if a standard printer INF provided with the operating system can be used.

If the manufacturer provides an INF file, it must be complete and free of errors. This INF file must comply with the printer-specific extensions listed in the Windows 95 and Windows NT DKKs.

If the manufacturer supplies an INF or other files, the requirements for printer INFs and installation include the following:

For complete details about standard installation requirements for device drivers, see "Basic PC 97" in Part 2 of this guide.

13. Driver reports device capabilities correctly

Required

For Windows 95, this means that the driver correctly supports the DEVMODE structure as defined in the Windows 95 DDK.

14. Device driver supports error notification

Required

At a minimum, the device driver must support reporting to the user the errors reported by the hardware.

15. ICC color matching support

Required

The Image Color Matching (ICC) APIs and functionality for Windows 95 are described in the Windows 95 SDK and DDK on MSDN. Windows supports using color profiles that comply with the ICC Profile Format Specification. For information, see the International Color Consortium web site at http://www.color.org.

Minimum implementation of ICC color matching requires one or more ICC profiles to be installed. Providing a monitor color calibration utility is recommended for generating, editing, and installing ICC profiles.

Eastman Kodak, the supplier of the default color matching method for ICM in Windows 95, has a wide array of advanced color management technology and products including device profiles that can be used to optimize a system. For contact information, see the "References for Printers" section at the end of this chapter.

16. Port monitor software complies with DDK guidelines

Required

If the device includes bi-directional port monitor software that replaces the default Windows port monitor, this software must accurately report errors.

For information about implementing port monitor software, see the Windows 95 and Windows NT DDKs.

17. Driver supports "point and print" network installation

Required

This support means that the user is not required to provide disks or files when installing a new printer of the same type as another printer on the network.

18. Device available immediately after installation

Required

The user should not have to restart the system to be able to print immediately after installation is complete.

19. Accurate printable regions

Required

The printable regions that can be selected in the user interface must be accurately supported in the actual print output.

20. Driver for Windows NT supports required DDIs

Required

These are defined in the Windows NT 4.0 DDK. Win32based printer drivers ensure that print commands from Windows NT-based applications are executed correctly on the specified printer or plotter. Because Win32 APIs are not hardware specific, it is the job of each printer driver to interpret the commands for its specific hardware.

21. Driver for Windows 95 supports required DDIs

Required

This requirement includes correct support for all features advertised for the device plus required support for Windows 95 features. For Windows 95, the DDIs that must be supported are listed in the "Printer Driver Overview" section of the Windows 95 DDK. This includes the following support, in addition to other support defined in the DDK:

22. Device driver based on universal printer driver

Recommended

Microsoft provides a Universal Printer Driver (Unidriver), which is capable of carrying out requests (such as printing text, rendering bitmaps, or advancing a page) on most types of printers. To build a driver for a particular printer, a developer builds a minidriver, which accepts requests from GDI and then, in most cases, passes the request to the Unidriver along with information that describes the capabilities, commands, and resident fonts of the particular printer. For more information, see the Windows NT 4.0 and Windows 95 DDK.

References for Printers

This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.

Windows 95 and Windows NT Device Driver Kits (DDK)

MSDN Professional membership.

International Color Consortium

ICC Profile Format Specification

http://www.color.org

Eastman Kodak

Attn. Color Management Group
164 Lexington Road
Billerica, MA 01821 USA
1-800-75COLOR

Device Class Power Management Reference Specification

http://www.microsoft.com/hwdev/onnow.htm

Checklist for Printers


Basic Printer Features
Basic Features for IEEE 1394 Printers
1. Compliance with PC 97 requirements for IEEE 1394
Required

Basic Features for USB Printers
2. Compliance with PC 97 requirements for USB devices
Recommended

Basic Features for IEEE 1284 Printers
3. Support compatibility mode, nibble mode, and ECP, compliant with IEEE 1284-I
Required
4. IEEE 1284-II compliance
Recommended
5. ECP printer works correctly when ECP mode is turned off
Required
6. Hardware supports error notification
Required

PC 97 Design for Printers
Plug and Play for Printers
7. Support Plug and Play for all supported buses
Required
8. Compliance with requirements for IEEE 1284 peripherals
Required

Power Management for Print Components
9. Compliance with "Device Class Power Management Reference Specification"
Required
10. Support Wakeup Events defined in "Device Class Power Management Reference Specification"
Optional
11. Support USB or IEEE 1394 power management requirements
Required

Device Drivers and Installation for Printers
12. Printer INF and installation meet Windows and Windows NT standards
Required
13. Driver reports device capabilities correctly
Required
14. Device driver supports error notification
Required
15. ICC color matching support
Required
16. Port monitor software complies with DDK guidelines
Required
17. Driver supports "point and print" network installation
Required
18. Device available immediately after installation
Required
19. Accurate printable regions
Required
20. Driver for Windows NT supports required DDIs
Required
21. Driver for Windows 95 supports required DDIs
Required
22. Device driver based on universal printer driver
Recommended